/*
 * @lc app=leetcode.cn id=118 lang=javascript
 *
 * [118] 杨辉三角
 */

// @lc code=start
/**
 * @param {number} numRows
 * @return {number[][]}
 */
var generate = function(numRows) {
    let store=new Map()
    let help=function(n){
        if(n==1)return [1];
        
        if(n==2)return [1,1]
        let arr=[]
        arr[0]=1
        arr[n-1]=1
        let c=[]
        if(store.has(n-1)){
            c=store.get(n-1)
        }else{
            store.set(n-1,help(n-1))
            c=store.get(n-1)
        }
        for(let i=1;i<n-1;i++){
            arr[i]=c[i-1]+c[i]
        }
        return arr
    }
    let arr=[]
    for(let i=1;i<=numRows;i++){
        arr.push(help(i))        
    }
    return arr
};
// @lc code=end

